Business process engines are traditionally arranged as heavy weight systems which receive events from a business process client and perform various related actions. The activities performed by a conventional business process engine (e.g., receiving and interpreting the initial event, classifying the event to determine a relevant process definition and instance, performing associated actions and updating any state changes) are performed in atomic transactions with state information persisted in a central database. In order to scale these systems, additional business process engines are added which use the same central database or the business process clients are artificially segmented and assigned to use a particular business process engine and associated central database.